package config;

import ap.PositionTuple;
import common.Network;

import java.util.HashSet;

public class genConfigI2P1 {
    public static void main(String[] args) {
        Network nc = new Network();
        nc.addTopology("chic","xe-0/1/0","newy32aoa","xe-0/1/3");
        nc.addTopology("chic","xe-1/0/1","kans","xe-0/1/0");
        nc.addTopology("chic","xe-1/1/3","wash","xe-6/3/0");
        nc.addTopology("hous","xe-3/1/0","losa","ge-6/0/0");
        nc.addTopology("kans","ge-6/0/0","salt","ge-6/1/0");
        nc.addTopology("chic","xe-1/1/2","atla","xe-0/1/3");
        nc.addTopology("seat","xe-0/0/0","salt","xe-0/1/1");
        nc.addTopology("chic","xe-1/0/2","kans","xe-0/0/3");
        nc.addTopology("hous","xe-1/1/0","kans","xe-1/0/0");
        nc.addTopology("seat","xe-0/1/0","losa","xe-0/0/0");
        nc.addTopology("salt","xe-0/0/1","losa","xe-0/1/3");
        nc.addTopology("seat","xe-1/0/0","salt","xe-0/1/3");
        nc.addTopology("newy32aoa","et-3/0/0-0","wash","et-3/0/0-0");
        nc.addTopology("newy32aoa","et-3/0/0-1","wash","et-3/0/0-1");
        nc.addTopology("chic","xe-1/1/1","atla","xe-0/0/0");
        nc.addTopology("losa","xe-0/1/0","seat","xe-2/1/0");
        nc.addTopology("hous","xe-0/1/0","losa","ge-6/1/0");
        nc.addTopology("atla","xe-0/0/3","wash","xe-1/1/3");
//        nc.addTopology("hous","xe-3/1/0","kans","ge-6/2/0");
        nc.addTopology("atla","ge-6/0/0","hous","xe-0/0/0");
        nc.addTopology("chic","xe-1/0/3","kans","xe-1/0/3");
        nc.addTopology("losa","xe-0/0/3","salt","xe-0/1/0");
        nc.addTopology("atla","ge-6/1/0","hous","xe-1/0/0");
        nc.addTopology("atla","xe-1/0/3","wash","xe-0/0/0");
        nc.addTopology("chic","xe-2/1/3","wash","xe-0/1/3");
        nc.addTopology("atla","xe-1/0/1","wash","xe-0/0/3");
        nc.addTopology("kans","xe-0/1/1","salt","ge-6/0/0");
        nc.addTopology("chic","xe-1/1/0","newy32aoa","xe-0/0/0");


        HashSet<String> waypoint;
        HashSet<PositionTuple> start, end;
        start = new HashSet<>(); start.add(new PositionTuple("kans","xe-0/1/0"));
        end = new HashSet<>(); end.add(new PositionTuple("wash","et-3/0/0-1"));
        waypoint = new HashSet<>();
        HashSet<Integer> length = new HashSet<>();

        nc.addReqByPorts(">=1 match S.*W.*D", start, end, waypoint, length);
        nc.generateConfig("config/i2p1/");

    }
}
